 //
//  HMStatusListModel.swift
//  CZBKWB31
//
//  Created by Linkon Y on 16/8/13.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit
//帮助首页请求数据和提供数据

class HMStatusListModel: NSObject {

    //保存微博数据Arrary记着加【】
    lazy var dataArr : [HMStatusViewModel] = [HMStatusViewModel]()
}

extension HMStatusListModel{

    //请求首页数据
    func loadData(isPullUp: Bool ,finish:(isSuccess:Bool) -> ()){
       
        var sinceId: Int64 = 0
        var maxId: Int64 = 0
        //上拉加载更多
        if isPullUp{
            maxId = dataArr.last?.statusModel?.id ?? 0
            if maxId > 0 {
                 // 则返回ID小于或等于max_id的微博，默认为0。
            maxId -= 1
            }
        }else{
        //下拉加载
        sinceId = dataArr.first?.statusModel?.id ?? 0
        }
        
        HMNetworkTool.sharedTools.homeLoadData(sinceId, maxId: maxId, success: { (response) in
            //                        print(response)
            //                        printLog1(response)
            
            //查看respons是否为空 是否可以转换的数组
            guard let res = response?["statuses"] as? [[String : AnyObject]] else{
                finish(isSuccess: false)
                return
            }
            //创建一个临时数组
            var tempArr : [HMStatusViewModel] = [HMStatusViewModel ]()
            
            // 遍历
            for dic in res {
                let status = HMStatusModel(dict:dic)
                let statusViewModel = HMStatusViewModel(statusModel: status)
                //添加模型
                tempArr.append(statusViewModel )
            }
            //赋值
            //上拉 请求老的数据
            if isPullUp {
                self.dataArr = self.dataArr + tempArr
            }else{
                //下拉 请求新的数据
                
                self.dataArr = tempArr + self.dataArr
            }
            finish(isSuccess: true)
        }) { (error) in
            //请求失败
            print("请求失败:\(error)")
            finish(isSuccess: false)
            
        }
        
    }
    
 }
